//导入createSlice函数用来创建切片
import {createSlice} from '@reduxjs/toolkit'
/*
   通过调用createSlice方法来创建切片
   createSlice的参数是一个配置对象，配置对象属性如下
   name:命名空间：实际上就是action type的前缀,在组件进行dispatch的时候，就会发送一个格式如下的action通知对象
   命名空间/action的type类型,
   initState:state初始值
   reducers:reducer的配置对象，它是一个配置对象，对象中的键就是action的type值,值是一个函数对象
   函数的参数有两个，第1个参数是state,第2个参数action对象
   注意：reducer函数不需要return返回
*/
const counterSlice=createSlice({
    name:'xx',
    initialState:{
        num:10
    },
    reducers:{
        increment(state,action){
            console.log('--------counterSlice中的increment方法--------------参数是:',action);
            state.num=state.num+action.payload
        },
        subtraction(state,action){
            state.num=state.num-action.payload
        }
    }
})
/*
   导出action的语法
   export const {reducers中key的值}=切片对象.actions
   导出reducer的语法
   export default 切片名称.reducer
*/
export const {increment,subtraction}=counterSlice.actions
//导出reducer
export default counterSlice.reducer